package com.sinosoft.sm.user.manager.api;

import java.util.List;

import com.sinosoft.sm.system.common.exception.ObjectIsNotExistedException;
import com.sinosoft.sm.user.entity.UserEntity;

/**
 * 用户信息管理层接口定义
 * @author leichao
 */
public interface UserManager {

	/**
	 * 根据用户名获取用户信息
	 * @param username 用户名
	 * @return 用户信息
	 */
	public UserEntity getUserByUsername(String username);

	
	public boolean updateUserPassword(String username, String password) throws ObjectIsNotExistedException;


	/**
	 * 根据用户名查找用户信息。若查询条件为空则返回所有
	 * @param entity 查询条件（用户名）
	 * @return
	 */
	public List<UserEntity> getUsers(UserEntity entity);


	/**
	 * 添加用户，默认绑定普通用户的角色
	 * @param userEntity 用户信息
	 */
	public void addUser(UserEntity userEntity);

	/**
	 * 更新用户状态
	 * @param username 用户名
	 * @param state 状况值 1：启用   0 禁用
	 */
	public void updateUserState(String username, String state);


}
